Automating Delegation in Class-Based Languages

نویسندگان

  • John Viega
  • Paul Reynolds
  • Reimer Behrends
چکیده

Some designers of class-based object oriented languages choose not to support multiple inheritance. As a result, programmers often resort to ad hoc workarounds. The most common of these workarounds is delegation. Even delegation is tedious and error prone, however: We believe that language designers who choose against multiple inheritance should consider automating delegation in order to alleviate these problems. In this paper; we present Jamie, a language extension for Java that automates delegation. We also discuss the advantages and disadvantages of both delegation and automating it in a class-based programming language. Many of our observations are based on our experiences with implementing and using Jamie.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Automated Delegation is a Viable Alternative to Multiple Inheritance in Class Based Languages

Multiple inheritance is still a controversial feature in traditional object-oriented languages, as evidenced by its omission from such languages as Modula-3, Objective C and JavaTM. Nonetheless, users of such languages often complain about having to work around the absence of multiple inheritance. Automating delegation, in combination with a multiple subtyping mechanism, provides many of the sa...

متن کامل

Superimposed Delegation

Object composition a well-known programming technique for supporting dynamic adaptation in statically typed class-based object-oriented programming languages suffers from two non-trivial problems; the common-self problem and the object reference update problem. Recently, it has been shown that the common-self problem can be solved for object composition in statically typed class-based languages...

متن کامل

Delegation as a Sharing Relation: Characterization and Interpretation

We introduce a new simple formalism in order to characterize sharing mechanisms in object-oriented languages. This formalism is based on the three notions of name sharing, property sharing and value sharing. We use it to identify the kind of sharing achieved by class-inheritance in class-based languages in a comparison with the one achieved by delegation in prototype-based languages. We also po...

متن کامل

Delegation for Java: API or Language Extension?

The failed attempt of JavaSoft to incorporate an “Object Aggregation / Delegation API” into its newest JavaBeans model has demonstrated impressively the high necessity and also the notorious difficulty of incorporating delegation into typed class-based languages. Although JavaSoft's proposal has been withdrawn due to public criticism of its limitations, the general issue is still relevant: is i...

متن کامل

Implementation of Dynamic Delegation in Strongly Typed Inheritance-Based Systems

In this paper we introduce an object-oriented model that integrates class-based inheritance and object-based, dynamic delegation in the framework of a static type system and we show that implementation techniques for strongly typed, inheritance-based languages can be adapted to handle dynamic delegation efficiently. Our model and implementation scheme show how today's "production programming" s...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2000